/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						  scenario_cut_scene_info.h

	$Header: /game/scenario_cut_scene_info.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( SCENARIO_CUT_SCENE_INFO_H_INCLUDED )
#define SCENARIO_CUT_SCENE_INFO_H_INCLUDED

#include <iosfwd>
#include <string>

#include "scenario_cut_scene_id.h"

class t_scenario_cut_scene_info
{
public:
	typedef t_scenario_cut_scene_image_id		t_image_id;
	typedef t_scenario_cut_scene_voice_over_id	t_voice_over_id;

	enum { k_image_count = k_scenario_cut_scene_image_count };
	enum { k_voice_over_count = k_scenario_cut_scene_voice_over_count };

	static t_image_id const			k_image_none;
	static t_voice_over_id const	k_voice_over_none;

	t_scenario_cut_scene_info();

	t_image_id			get_image_id() const;
	std::string const &	get_text() const;
	t_voice_over_id		get_voice_over_id() const;
	bool				read( std::streambuf & stream );
	bool				read_from_map( std::streambuf & stream );
	bool				write( std::streambuf & stream ) const;

private:
	std::string		m_text;
	t_image_id		m_image_id;
	t_voice_over_id	m_voice_over_id;
};

inline t_scenario_cut_scene_info::t_scenario_cut_scene_info()
	:	m_image_id( k_image_none ),
		m_voice_over_id( k_voice_over_none )
{
}

inline t_scenario_cut_scene_info::t_image_id
t_scenario_cut_scene_info::get_image_id() const
{
	return m_image_id;
}

inline std::string const & t_scenario_cut_scene_info::get_text() const
{
	return m_text;
}

inline t_scenario_cut_scene_info::t_voice_over_id
t_scenario_cut_scene_info::get_voice_over_id() const
{
	return m_voice_over_id;
}

#endif // !defined( SCENARIO_CUT_SCENE_INFO_H_INCLUDED )
